package com.tkjt.pms.persist.dao;

import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.tkjt.pms.calc.common.DepartOwner;
import com.tkjt.pms.calc.common.NodeDepenChains;

public interface IndexCalcDao {
	
	public List<String> loadIndexGroupOrder(Set<String> indexGroups);

	public LinkedList<String> loadNodeLevelChain(String nodeType, String indexYearMonth, String indexGroup, String nodeCode);
	
	public NodeDepenChains loadNodeDepenChains(String nodeType, String indexYearMonth, String indexGroup, Set<String> nodeCodeCodes);
	
	public Map<String, Set<DepartOwner>> loadDepartOwnersByIndexDeparts(Set<String> indexDeparts);
	
	public Set<String> loadDepartLeafs(String indexGroup);
	
	public Set<String> loadIndexValueCodeLeafs(String indexGroup);
	
}
